﻿namespace Tequila.Phone.Sharing
{
    /// <summary>
    /// Settings service.
    /// </summary>
    public interface ISettingsService
    {
        /// <summary>
        /// When implemented, gets the setting by key.
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        object Get(string key);
        /// <summary>
        /// When implemented, saves the setting with key.
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        void Save(string key, object value);
        /// <summary>
        /// When implemented, deletes setting by key.
        /// </summary>
        /// <param name="key"></param>
        void Delete(string key);
        /// <summary>
        /// When implemented, determines whether setting with key persists.
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        bool Contains(string key);
    }
}
